#undef HAVE_STPCPY
#undef HAVE_XSHM_H
#undef HAVE_SHAPE_EXT
+#undef HAVE_SOLARIS_XINERAMA
#undef HAVE_SYS_SELECT_H
#undef HAVE_SYS_TIME_H
+#undef HAVE_XFREE_XINERAMA
+#undef HAVE_XINERAMA
#undef HAVE_WINSOCK_H
#undef HAVE_WINTAB
#undef HAVE_XCONVERTCASE
# Don't ever pull in the pangoxft libraries for gdk-pixbuf-x11
GDK_PIXBUF_XLIB_EXTRA_LIBS="$x_extra_libs `$PKG_CONFIG --libs pangox`"
+ # Check for Xinerama extension (Solaris impl or Xfree impl)
+
+ case "$host" in
+ *-*-solaris*)
+ # Check for solaris
+ use_solaris_xinerama=yes
+ AC_CHECK_LIB(Xext, XineramaGetInfo,
+ use_solaris_xinerama=yes, use_solaris_xinerama=no)
+ if test "x$use_solaris_xinerama" == "xyes"; then
+ AC_CHECK_HEADER(X11/extensions/xinerama.h,
+ if test -z "`echo $x_extra_libs $x_libs | grep "\-lXext" 2> /dev/null`"; then
+ x_extra_libs="-lXext $x_extra_libs"
+ fi
+ AC_DEFINE(HAVE_SOLARIS_XINERAMA)
+ AC_DEFINE(HAVE_XINERAMA), use_solaris_xinerama=no)
+ fi
+ AC_MSG_CHECKING(for Xinerama support on Solaris)
+ AC_MSG_RESULT($use_solaris_xinerama);
+ ;;
+ *)
+ # Check for XFree
+ use_xfree_xinerama=yes
+ AC_CHECK_LIB(Xinerama, XineramaQueryExtension,
+ [AC_CHECK_HEADER(extensions/Xinerama.h,
+ x_extra_libs="-lXinerama $x_extra_libs"
+ if test -z "`echo $x_extra_libs $x_libs | grep "\-lXext" 2> /dev/null`"; then
+ x_extra_libs="-lXext $x_extra_libs"
+ fi
+ AC_DEFINE(HAVE_XFREE_XINERAMA)
+ AC_DEFINE(HAVE_XINERAMA),
+ use_xfree_xinerama=no)],
+ use_xfree_xinerama=no)
+ AC_MSG_CHECKING(for Xinerama support on XFree86)
+ AC_MSG_RESULT($use_xfree_xinerama);
+ ;;
+ esac
+
# Check for shaped window extension
AC_CHECK_LIB(Xext, XShapeCombineMask,
/**
* gdk_display_get_event:
* @display: a #GdkDisplay
- * @event: a #GdkEvent
*
* Gets the next #GdkEvent to be processed for @display, fetching events from the
* windowing system if necessary.
/**
* gdk_display_peek_event:
- * @void:
+ * @display: a #GdkDisplay
*
* Gets a copy of the first #GdkEvent in the @display's event queue, without
* removing the event from the queue. (Note that this function will
tmp.green = foreground->green;
}
- fg_gc = gdk_pango_get_gc (drawable, context, fg_set ? &tmp : NULL,
+ fg_gc = gdk_pango_get_gc (drawable, context, (fg_set || foreground) ? &tmp : NULL,
stipple, gc);
}
else
GdkPixmap* gdk_pixmap_lookup (GdkNativeWindow anid);
#endif /* GDK_MULTIHEAD_SAFE */
-GdkPixmap* gdk_pixmap_foreign_new_for_screen (GdkScreen *screen,
- GdkNativeWindow anid);
-GdkPixmap* gdk_pixmap_lookup_for_display (GdkDisplay *display,
- GdkNativeWindow anid);
+GdkPixmap* gdk_pixmap_foreign_new_for_display (GdkDisplay *display,
+ GdkNativeWindow anid);
+GdkPixmap* gdk_pixmap_lookup_for_display (GdkDisplay *display,
+ GdkNativeWindow anid);
#ifndef GDK_DISABLE_DEPRECATED
#define gdk_bitmap_ref gdk_drawable_ref
#include <X11/XKBlib.h>
#endif
-#ifdef HAS_SOLARIS_XINERAMA
+#ifdef HAVE_SOLARIS_XINERAMA
#include <X11/extensions/xinerama.h>
#endif
-#ifdef HAS_XFREE_XINERAMA
+#ifdef HAVE_XFREE_XINERAMA
#include <X11/extensions/Xinerama.h>
#endif
parent_class = g_type_class_peek_parent (class);
}
-#ifdef HAS_XINERAMA
+#ifdef HAVE_XINERAMA
static gboolean
check_solaris_xinerama (GdkScreen *screen)
{
-#ifdef HAS_SOLARIS_XINERAMA
+#ifdef HAVE_SOLARIS_XINERAMA
if (XineramaGetState (GDK_SCREEN_XDISPLAY (screen),
gdk_screen_get_number (screen)))
{
return TRUE;
}
}
-#endif /* HAS_SOLARIS_XINERAMA */
+#endif /* HAVE_SOLARIS_XINERAMA */
return FALSE;
}
static gboolean
check_xfree_xinerama (GdkScreen *screen)
{
-#ifdef HAS_XFREE_XINERAMA
+#ifdef HAVE_XFREE_XINERAMA
if (XineramaIsActive (GDK_SCREEN_XDISPLAY (screen)))
{
XineramaScreenInfo *monitors = XineramaQueryScreens (GDK_SCREEN_XDISPLAY (screen),
return TRUE;
}
}
-#endif /* HAS_XFREE_XINERAMA */
+#endif /* HAVE_XFREE_XINERAMA */
return FALSE;
}
-#endif /* HAS_XINERAMA */
+#endif /* HAVE_XINERAMA */
static void
init_xinerama_support (GdkScreen * screen)
{
GdkScreenX11 *screen_x11 = GDK_SCREEN_X11 (screen);
-#ifdef HAS_XINERAMA
+#ifdef HAVE_XINERAMA
int opcode, firstevent, firsterror;
gint result;
check_xfree_xinerama (screen))
return;
}
-#endif /* HAS_XINERAMA */
+#endif /* HAVE_XINERAMA */
/* No Xinerama
*/
* a way that impacts persistent application state. A common bug
* is that your application can start up before the window manager
* does when the user logs in, and before the window manager starts
- * gdk_net_wm_supports() will return %FALSE for every property.
+ * gdk_x11_screen_supports_net_wm_hint() will return %FALSE for every property.
*
* Return value: %TRUE if the window manager supports @property
**/
/**
* gdk_net_wm_supports:
- * @screen : the relevant #GdkScreen.
* @property: a property atom.
*
* This function is specific to the X11 backend of GDK, and indicates
/**
* gdk_pixmap_foreign_new_for_display:
- * @screen : The #GdkScreen the @anid is located.
+ * @display: The #GdkDisplay where @anid is located.
* @anid: a native pixmap handle.
*
* Wraps a native window in a #GdkPixmap.
GdkDisplay *gdk_x11_lookup_xdisplay (Display *xdisplay);
-GList *gdk_list_visuals_for_screen (GdkScreen *screen);
-
/* Functions to get the X Atom equivalent to the GdkAtom */
Atom gdk_x11_atom_to_xatom_for_display (GdkDisplay *display,
- GdkAtom virtual_atom);
+ GdkAtom atom);
GdkAtom gdk_x11_xatom_to_atom_for_display (GdkDisplay *display,
Atom xatom);
Atom gdk_x11_get_xatom_by_name_for_display (GdkDisplay *display,